package RRHH_Modelo;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class RHH_SUCURSAL {

    private double ID;
    private double ID_DATOS_EMPRESA;
    private double ID_REGIONAL;
    private String DESCRIPCION;
    private String DIRECCION;
    private String TELEFONO;
    private String CASILLA;
    private String EMAIL;
    private Conexion con = null;

    public RHH_SUCURSAL(Conexion con) {
        this.con=con;
    }

    public RHH_SUCURSAL(String EMAIL, String CASILLA, String TELEFONO, String DIRECCION, String DESCRIPCION, double ID, double ID_DATOS_EMPRESA, double ID_REGIONAL) {
        this.EMAIL = EMAIL;
        this.CASILLA = CASILLA;
        this.TELEFONO = TELEFONO;
        this.DIRECCION = DIRECCION;
        this.DESCRIPCION = DESCRIPCION;
        this.ID = ID;
        this.ID_DATOS_EMPRESA = ID_DATOS_EMPRESA;
        this.ID_REGIONAL = ID_REGIONAL;
    }

    public boolean Insertar() {
        try {
            String consulta = "insert into BROKER.RHH_SUCURSAL(EMAIL,CASILLA,TELEFONO,DIRECCION,DESCRIPCION,ID,  ID_DATOS_EMPRESA, ID_REGIONAL) VALUES ('" + EMAIL + "','" + CASILLA + "','" + TELEFONO + "','" + DIRECCION + "','" + DESCRIPCION + "',0, 1, " + ID_REGIONAL + ")";
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public boolean EliminarXid() {
        try {
            String consulta = "delete from BROKER.RHH_SUCURSAL where ID = " + getID();
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public RHH_SUCURSAL BuscarXid(double id) throws SQLException {
        String consulta = "select * from BROKER.RHH_SUCURSAL where ID = " + id;
        ResultSet rs = con.EjecutarConsulta(consulta);
        List<RHH_SUCURSAL> lista = Cargar(rs);
        if (lista.size() > 0) {
            return lista.get(0);
        } else {
            return null;
        }
    }

    public RHH_SUCURSAL Buscar() {
        try {
            String consulta = "select * from BROKER.RHH_SUCURSAL where CASILLA = '" + CASILLA + "' and DESCRIPCION ='" + DESCRIPCION + "' and DIRECCION='" + DIRECCION + "' and EMAIL='" + EMAIL + "' and TELEFONO = '" + TELEFONO + "' and ID_REGIONAL=" + ID_REGIONAL;
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs).get(0);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public List<RHH_SUCURSAL> BuscarXRegional(double idreg) {
        String reg = "";
        if (idreg > 0) {
            reg = "where ID_REGIONAL = " + idreg;
        }
        try {
            String consulta = "select * from BROKER.RHH_SUCURSAL " + reg;
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public List<RHH_SUCURSAL> Todos() throws SQLException {
        String consulta = "select * from BROKER.RHH_SUCURSAL";
        ResultSet rs = con.EjecutarConsulta(consulta);
        return Cargar(rs);
    }

    public List<RHH_SUCURSAL> Cargar(ResultSet rs) throws SQLException {
        List<RHH_SUCURSAL> lista = new ArrayList<RHH_SUCURSAL>();
        while (rs.next()) {
            RHH_SUCURSAL objeto = new RHH_SUCURSAL(con);

            objeto.setEMAIL(rs.getString("EMAIL"));
            objeto.setCASILLA(rs.getString("CASILLA"));
            objeto.setTELEFONO(rs.getString("TELEFONO"));
            objeto.setDIRECCION(rs.getString("DIRECCION"));
            objeto.setDESCRIPCION(rs.getString("DESCRIPCION"));
            objeto.setID(rs.getDouble("ID"));
            objeto.setID_REGIONAL(rs.getDouble("ID_REGIONAL"));
            objeto.setID_DATOS_EMPRESA(rs.getDouble("ID_DATOS_EMPRESA"));
            objeto.setCon(con);
            lista.add(objeto);
        }
        return lista;
    }

    public String getEMAIL() {
        return EMAIL;
    }

    public void setEMAIL(String EMAIL) {
        this.EMAIL = EMAIL;
    }

    public String getCASILLA() {
        return CASILLA;
    }

    public void setCASILLA(String CASILLA) {
        this.CASILLA = CASILLA;
    }

    public String getTELEFONO() {
        return TELEFONO;
    }

    public void setTELEFONO(String TELEFONO) {
        this.TELEFONO = TELEFONO;
    }

    public String getDIRECCION() {
        return DIRECCION;
    }

    public void setDIRECCION(String DIRECCION) {
        this.DIRECCION = DIRECCION;
    }

    public String getDESCRIPCION() {
        return DESCRIPCION;
    }

    public void setDESCRIPCION(String DESCRIPCION) {
        this.DESCRIPCION = DESCRIPCION;
    }

    public double getID() {
        return ID;
    }

    public void setID(double ID) {
        this.ID = ID;
    }

    public Conexion getCon() {
        return con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }

    public double getID_DATOS_EMPRESA() {
        return ID_DATOS_EMPRESA;
    }

    public void setID_DATOS_EMPRESA(double ID_DATOS_EMPRESA) {
        this.ID_DATOS_EMPRESA = ID_DATOS_EMPRESA;
    }

    public double getID_REGIONAL() {
        return ID_REGIONAL;
    }

    public void setID_REGIONAL(double ID_REGIONAL) {
        this.ID_REGIONAL = ID_REGIONAL;
    }

}